﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
using CommunitySystemModel;
using System.Collections.ObjectModel;
using CommunitySystemModel.AdvancedCustomerQuery;
using System.Xml.Linq;

namespace CommunitySystem.Web.Service
{
    // NOTE: You can use the "Rename" command on the "Refactor" menu to change the interface name "ICustomerQuery" in both code and config file together.
    [ServiceContract]
    public interface ICustomerQuery
    {
        [OperationContract]
        void DoWork();
           
        [OperationContract]
        bool AddQuery_ColumnCollection(Query_ColumnCollection entity);

        [OperationContract]
        bool DeleteQuery_ColumnCollection(int id);

        [OperationContract]
        ObservableCollection<Query_ColumnCollection> GetQuery_ColumnCollection(string condition);

        [OperationContract]
        bool SaveQuery_CustomerQuery(Query_CustomerQuery entity);

        [OperationContract]
        ObservableCollection<Query_CustomerQuery> GetQuery_CustomerQuery(string condition);

        [OperationContract]
        bool DeleteQuery_CustomerQuery(int id);

        [OperationContract]
        ObservableCollection<Query_ColumnValue> GetValues(string _type, string sql, string loginUserID);

        [OperationContract]
        string QueryData(int Query_CustomerQueryID, string orgids, int Year);

        [OperationContract]
        string QueryDetailInfo(XElement cell, Query_ShowColumn[] columns);

        [OperationContract]
        ObservableCollection<string> GetRecords(string type);
    }
}
